package com.learn.mvc.controller;

import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

/**
 * 基于注解的异常处理
 */
@ControllerAdvice
public class ExceptionController {

    // 当出现value中的任意一个异常时，便触发当前控制器方法的执行。
    @ExceptionHandler(value = {ArithmeticException.class, NullPointerException.class})
    public String testException(Exception ex, Model model){
        // 在错误页面中显示对应的错误信息，设置将异常信息共享在请求域中。名称任意，例如ex
        model.addAttribute("ex2", ex);
        System.out.println("触发testException运行");
        return "error";
    }

}
